/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.beautycenter.DAO;

import br.com.beautycenter.bean.Tratamento;
import br.com.beautycenter.hibernateUtil.DaoBase;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Query;

/**
 *
 * @author Magelinha
 */
public class PersisteTratamento extends DaoBase<Tratamento> { 
    public List<Tratamento> retornarTratamentos(){
        try {
            return findAll();
        } catch (Exception ex) {
            return new ArrayList<Tratamento>();
        }
    }
       
    public Tratamento retornarTratamentoPeloID(Tratamento tratamento){
        return getEntityManager().find(Tratamento.class, tratamento.getIdTratamento());
    }
    
    public List<Tratamento> retornarTratamentoPeloTipo(Tratamento tratamento){
        Query query = getEntityManager().createQuery("FROM Tratamento t WHERE t.tipoTratamento.idTipoTratamento=:id");
        query.setParameter("id", tratamento.getTipoTratamento().getIdTipoTratamento());
        
        try{
           return query.getResultList(); 
        }catch(Exception ex){
            return new ArrayList<Tratamento>();
        }
    }
    
    public List<Tratamento> retornarTratamentoPeloNome(Tratamento tratamento){
        Query query = getEntityManager().createQuery("FROM Tratamento t WHERE t.nomeTratamento LIKE :nome");
        query.setParameter("nome", "%"+tratamento.getNomeTratamento()+"%");
        
        try{
           return query.getResultList(); 
        }catch(Exception ex){
            return new ArrayList<Tratamento>();
        }
    }
    
    public void salvar(Tratamento tratamento){
        save(tratamento);
    }
    public void deletar(Tratamento tratamento){
        try{
            delete(tratamento);
        }catch (Exception ex){
            ex.printStackTrace();
        }
    }
    
    public void atualizar(Tratamento tratamento){
        update(tratamento);
    }
}